package com.ic.dao;

import com.ic.base.BaseDao;
import com.ic.entity.ItemInfo;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 入库物品明细DAO
 */
@Repository
public interface ItemInfoDao extends BaseDao<ItemInfo> {
	/**
	 * 批量插入入库物品明细
	 *
	 * @param list 入库物品明细List
	 */
	public void insertList(List<ItemInfo> list);

	/**
	 * 根据查询条件获取入库物品明细数量
	 *
	 * @param map 包含物品科目、品名和编号
	 * @return 入库物品明细数量
	 */
	public Integer selectCount(Map map);

	/**
	 * 根据查询条件获取入库物品明细信息
	 *
	 * @param map 包含分页信息(开始位置，每页记录数)、物品科目、品名和编号
	 * @return 入库物品明细信息
	 */
	public List showItemInfoList(Map map);

	/**
	 * 根据物品入库明细信息ID查询物品入库明细信息
	 *
	 * @param id 物品入库明细信息ID
	 * @return 返回List
	 */
	public List showItemInfo(String id);

	/**
	 * 根据入库物品明细ID更改入库物品明细状态
	 *
	 * @param map 包含入库物品明细ID集合和状态
	 * @return 影响的数据数量
	 */
	public Integer updateState(Map map);

	/**
	 * 检查入库物品明细的编号是否已存在
	 *
	 * @param itemInfo 入库物品明细信息
	 * @return 返回记录数
	 */
	public Integer checkItemInfoNum(ItemInfo itemInfo);
}